//
// Copyright (c) 2019-2023 BPer
//

#ifndef BPERVIDEODEVICEMAC_H
#define BPERVIDEODEVICEMAC_H
#include <bperutil/BPerType.h>
#include <bperutil/BPerAvInfoType.h>


typedef struct{
    void* user;
    void (*on_video)(uint8_t* data,uint32_t nb,uint64_t ts,void* user);
}BPerMacVideoCallback;

typedef struct{
    void* session;
    int32_t (*init)(void* session);
    int32_t (*start)(void* session);
    int32_t (*stop)(void* session);
}BPerVideoDeviceMac;


int32_t bPer_create_macVideo(BPerVideoDeviceMac* video,uint32_t width,uint32_t height,uint32_t framerate,BPerMacVideoCallback* callback);
void bPer_destroy_macVideo(BPerVideoDeviceMac* video);


#endif // BPERVIDEODEVICEMAC_H
